---
title: 数据库基础
---

## 数据库分类

* 关系数据库(数据与数据之间存在关系)
* No SQL 非关系型数据库

SQL，全称是 Structured Query Language，是一种<RedSpan>结构化查询语言</RedSpan>，是一种<RedSpan>数据库访问</RedSpan>语言，是一种半衰期很长的语言，自 1970年 诞生到现在，经久不衰，日久弥新。

### 关系型数据库

* MySQL

* Oracle

* SQL Server

:::tip
优点：

1 表和表、表和字段、数据与数据之间存在关系

2 由于关系存在，进行数据的增删改查方便

3 拥有事务的操作，保证数据的完整性和一致性

缺点：

1 数据与数据之间关系的维护需要大量算法，大量算法会降低系统效果，同时降低性能

2 因性能降低，使其面对海量数据的增删改查、数据维护等场景较无力

:::

### 非关系型数据库

* Redis

* MongoDB

* Memcached

:::tip
优点：

1 满足海量数据的操作，数据之间不存在关系

2 每条数据单独存在，海量数据的增删改查、维护和处理方便

缺点：

没有清大的事务关系，不能保证数据的完整性和一致性
:::

##  多表设计规范

### 三范式设计

#### 第一范式 1NF

要求属性具有原子性，即列不可再分解

#### 第二范式 2NF

列与列之间不存在部分依赖关系，要有主键且每列都与主键相关

#### 第三范式 3NF

列与列之间不存在传递依赖关系


### MySQL进程与数据库实例之间的关系

数据库的基本结构：
  案例（进程）：库  表  字段  数据类型































### 反范式设计



